Q: Java 1.3.1 アプリケーションで java.awt.Toolkit.beep を呼び出していますが、まったく音がでません。何が起きているのでしょうか?
A: Mac OS X の既知の問題で、Toolkit.beep が Java 1.3.1 では実際に音を生成しないという問題があります。この問題は、Mac OS X の「.app」バンドル内部の Java アプリケーションで発生します。1.3.* のバージョンを指定する Java Web Start アプリケーションも影響を受ける場合があります。コマンドラインと、ダブルクリック起動が可能な jar アプリケーションは、1.3.1 では正常に動作します。また、.app にバンドルされたアプリケーションも、1.4.1 で期待通りに動作します。
Java 1.3.1 では、これらの状態に対する既知の回避策がありません。もちろん、内蔵サウンド機能を代わりに提供することはできます。1.3.1 と Toolkit.beep の組み合わせがどうしても必要な場合は、シェルスクリプトベースの運用を採用するか、可能な場合には、ダブルクリック起動が可能な Jar を 1 つ使用する必要があります。Java Web Start アプリケーションは、標準的な JNLP の仕組みを使って Java 1.4.1 以降に切り替えることができます。
「Info.plist」ファイルの JVMVersion Java Property を使って、バンドルされたアプリケーションが 1.4.1 を使うように切り替えることもできます。
これらの運用オプションのすべてに関する説明は、Java 1.4.1 Release Notes を参照してください。
[2003 年 4 月 11 日]
|